package com.one.group.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 问卷调查表实体类
 * @author kld
 */
@Data
@Table("sp_questionnaire_survey")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class QuestionnaireSurvey implements Serializable {
    @Id(keyType = KeyType.Auto)
    private Long id; // 主键ID
    
    @Column("cell_id")
    private Long cellId; // 关联小区id
    
    // 关联小区信息（非数据库字段，用于查询时返回小区名称）
    private transient SpCell spCell;
    
    @Column("questionnaire_name")
    private String questionnaireName; // 问卷名称，如"物业服务质量"
    
    @Column("questionnaire_description")
    private String questionnaireDescription; // 问卷描述，如"调查业主近一年来对物业的满意度"
    
    @Column("participation_scope")
    private String participationScope; // 参与范围，如"全体业主"
    
    @Column("publish_time")
    private Date publishTime; // 发布时间
    
    @Column("end_time")
    private Date endTime; // 结束时间
    
    @Column("answer_count")
    private Integer answerCount; // 回答数量，默认0
    
    private String status; // 状态，如"未开始""进行中""已结束"
    
    @Column("is_deleted")
    private Integer isDeleted; // 逻辑删除 0-未删除，1-删除
    
    @Column("create_time")
    private Date createTime; // 创建时间
    
    @Column(tenantId = true)
    private Long tenantId; // 租户ID
}